Certain types of controllers comprise a network having individual control units or nodes each typically including a microprocessor as a component, where each node is connected with the others. It is convenient for the connection to be a two-conductor data bus to which all of the individual control units or nodes are connected. By using only two wires to connect all the nodes, the connections are dramatically simplified. However, when a simple two-conductor data bus is involved, it is not possible for more than one message to be sent concurrently. Messages are usually between pairs of nodes. Thus, when a large number of nodes are present on a network, most message traffic involves only a small percentage of the nodes present. The individual messages typically include information specifying, by its network address, the node to which it is directed.
The controllers comprising these nodes may typically be used to provide distributed control of a system having individual elements to be controlled throughout a building or a factory floor. For example (and the one for which the invention was devised), the nodes may be used to control a building environment by managing the heating, ventilating, and air conditioning functions for it. In such an application, the thermostats and other types of sensors are scattered over the entire building, and each must, at intervals from a few seconds to a few minutes, provide signals indicating the settings and conditions. Furthermore, the environment control apparatus may also have individual elements widely scattered,so it can be seen that both sensing and power devices can make use of controller apparatus whose individual elements can be widely dispersed.
In systems like this, the computing capacity of individual nodes is relatively small. Furthermore, since it is not possible in general to predict when a message will be directed to a particular node, each node must interpret every message in order to sense those directed to it. This is wasteful of scarce processing time. Accordingly, it is very useful to be able to identify where a message is directed, so that nodes to which it is not directed may resume their normal controlling function. It appears that perhaps as much as 15% of total microprocessor time in a node is devoted to such message interpretation. The sooner it can be determined that a message is not intended for a node, the sooner that node can start useful processing.
The use of check sums and other types of redundancy in electrically transmitted message used to increase the likelihood of accurate transmission has been known for probably as long as digital messages have been transmitted. The use to be described here is directed to reducing the processing time devoted to message interpretation rather than merely confirming the accuracy of the transmission.